package br.com.etecmatao.admin.controller;

import br.com.etecmatao.business.BusinessLocator;
import br.com.etecmatao.business.impl.BusinessLocatorImpl;
import br.com.etecmatao.model.Estagio;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

@ManagedBean
public class FormEstagio {

    private Estagio estagio;
    private BusinessLocator businessLocator;
    private DataModel<Estagio> lista;

    public DataModel<Estagio> getLista() {
        lista = new ListDataModel<Estagio>(businessLocator.getEstagioBusiness().finByAll());
        return lista;
    }

    public void setLista(DataModel<Estagio> lista) {
        this.lista = lista;
    }

    public FormEstagio() {
        estagio = new Estagio();
        businessLocator = new BusinessLocatorImpl();
    }

    public Estagio getEstagio() {
        return estagio;
    }

    public void setEstagio(Estagio estagio) {
        this.estagio = estagio;
    }

    public void save() {
        estagio.setLogin((br.com.etecmatao.model.Login) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("user"));
        estagio.setStatus("A");
        if (estagio.getIdEstagio() != null) {
            businessLocator.getEstagioBusiness().update(estagio);
        } else {
            businessLocator.getEstagioBusiness().save(estagio);
        }
        FacesContext.getCurrentInstance().addMessage("messages", new FacesMessage("Cadastro realizado com sucesso"));
    }

    public void delete(){
        estagio = lista.getRowData();
        businessLocator.getEstagioBusiness().delete(estagio);
    }

    public String editar(){
        estagio = lista.getRowData();
        return "formEstagio";
    }

    public String create(){
        estagio = new Estagio();
        return "formEstagio";
    }
}
